R语言ggplot2分组散点图 R语言 使用ggplot2绘制好看的分组散点图(IT技术) | 您所在的位置:网站首页 › ggplot 分组条形图 › R语言ggplot2分组散点图 R语言 使用ggplot2绘制好看的分组散点图(IT技术) |
想了解R语言 使用ggplot2绘制好看的分组散点图的相关内容吗,yepeng2007fei在本文为您仔细讲解R语言ggplot2分组散点图的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:R语言,ggplot2,分组散点图,下面大家一起来学习吧。
我们以iris数据集为例,该数据集包括花萼的长度和宽度,花瓣的长度和宽度,以及物种,如下图: 本文我们要绘制不同物种下花萼的长度和宽度的分布情况,以及二者之间的相关性关系。 1. 首先载入ggplot2包, library(ggplot2)2. 然后进行ggplot(data = NULL, mapping = aes(), ..., environment = parent.frame())绘制,在绘制中第一个参数是数据,第二个参数是数据映射,是绘制的全局变量,其中包含的参数有x,y,color,size,alpha,shape等。 例如:ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)),然后通过快捷散点绘制 +geom_point(size = 2.0, shape = 16),颜色代表不同的物种,如下图: 3. 上面显示的是最原始的散点绘制,通过颜色区分不同的物种,那么如何进行效果的提升呢? 首先是可以进行分面,使得不同物种的对比效果更为显著,这里使用+facet_wrap( ~ Species),效果如下: 4. 通过分面后对比效果好了不少,如果想看下不同物种下花萼长度与宽度的关系呢?可以使用+geom_smooth(method = "loess"),效果图如下: 5. 通过上面的操作效果好了很多,但是还是感觉不够高大上,那我们可以使用library(ggthemes)这个包进行精修一下,通过修改theme,使用+theme_solarized(),效果如下: 还有更多的theme选择,例如+theme_wsj(),效果如下: 这样我们的图是不是高大上了很多呢,所以其实数据可视化也没有多难。最后给下源码: library(ggthemes) library(ggplot2) ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) + geom_point(size = 2.0, shape = 16) + facet_wrap( ~ Species) + geom_smooth(method = "loess")+ theme_wsj()补充:R语言 画图神器ggplot2包 ggplot2R语言里画图最好用的包啦。感觉图都挺清晰的,就懒得加文字了(或者以后回来补吧>.)前面几个图挺基础的,后面也许会有没见过的ggplot用法哦。 Install Package install.packages("ggplot2") library(ggplot2) Scatter Plot为了方便展示,用gapminder的数据 if(!require(gapminder)) install.packages("gapminder") library(gapminder) gapminder数据大概是这样的 假设我们现在想要知道2007年lifeExp和人均GDP之间的关系。 先筛选数据 library(dplyr) gapminder_2007 % filter(year == 2007)画lifeExp和gdpPercap关系的散点图,x为gdpPercap,y为lifeExp。 ggplot(gapminder_2007,aes(x = gdpPercap, y = lifeExp))+geom_point()看的出来lifeExp与gdpPercap存在近似lifeExp=log(gdpPercap)的关系,对x轴的数值进行log值处理。另外,为了呈现更多信息,用颜色标记国家所在的洲,并用点的大小表示人口数量。 ggplot(gapminder_2007,aes(x = gdpPercap, y = lifeExp, color = continent, size = pop))+ geom_point()+scale_x_log10()+theme_minimal()+ labs(x = "GDP per capita", y = "Life expectancy", title = "Life expectancy increases as GDP per capita increases", caption = "Data source: gapminder")另外一种呈现方式如下: 加入了回归线和坐标轴的histogram。 plot % mutate(country = fct_reorder(country,gdpPercap,last)) ggplot(gapminder_gdp2007, aes(x=country, y = gdpPercap))+ geom_col(fill="skyblue", color="black")+ labs(x = "Country", y = "GDP per capita", title = "GDP per capita in North America and South America, 2007", caption = "Data source: gapminder")+ coord_flip()+theme_minimal() |
CopyRight 2018-2019 实验室设备网 版权所有 |